package com.pro.common.service.sitecontent.enums.init;

import cn.hutool.core.util.StrUtil;
import com.pro.common.api.CommonConst;
import com.pro.common.api.enums.EnumSysRole;
import com.pro.framework.api.enums.IEnumToDb;

public interface IAuthRoute extends IEnumToDb {
    @Override
    default String getToDbCode() {
        return String.join(CommonConst.Str.SPLIT,
                getSysRole().name(),
                StrUtil.nullToDefault(getGroupCode(), "DEFAULT"),
                StrUtil.nullToDefault(getServiceName(), ""),
                getCode()
        );
    }

    EnumSysRole getSysRole();

    default String getGroupCode() {
        return null;
    }

    String getCode();
//    void setCode(String code);

    default String getServiceName() {
        return null;
    }

}
